package xin.marcher.module.construction.api;

import xin.marcher.module.common.core.JsonResult;
import xin.marcher.module.construction.domain.dto.CategoryInfoDTO;
import xin.marcher.module.construction.domain.dto.CategoryInfoTreeDTO;
import xin.marcher.module.construction.domain.dto.CategoryResultDTO;
import xin.marcher.module.construction.domain.request.CategoryRequest;
import xin.marcher.module.construction.domain.request.QueryCategoryListRequest;
import xin.marcher.module.construction.domain.request.QueryCategoryRequest;

import java.util.List;

/**
 * 品类服务接口
 */
public interface CategoryApi {

    /**
     * 新增/编辑品类接口
     *
     * @param request
     */
    JsonResult<CategoryResultDTO> category(CategoryRequest request);


    /**
     * 查询品类树
     *
     * @param request
     */
    JsonResult<List<CategoryInfoTreeDTO>> categoryInfoTree(QueryCategoryRequest request);

    /**
     * 查询当前品类的子节点
     *
     * @param request
     */
    JsonResult<List<CategoryInfoDTO>> categoryInfoChild(QueryCategoryRequest request);


    /**
     * 查询品类信息
     *
     * @param request
     */
    JsonResult<List<CategoryInfoDTO>> listCategoryAll(QueryCategoryListRequest request);
}
